package org.jeecg.modules.wflow.workflow.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.jeecg.modules.wflow.workflow.bean.vo.*;
import org.flowable.task.api.Task;

import java.util.List;
import java.util.Map;

/**
 * @author : willian fu
 * @date : 2022/8/22
 */
public interface ProcessInstanceService {

    String startProcess(String defId, ProcessStartParamsVo params);

    String getBeforeTask(String instanceId, String task);

    void delProcessInstance(String instanceId);

    ProcessProgressVo getInstanceProgress(String nodeId, String instanceId);

    List<Task> getProcessInstanceTaskList(String instanceId);

    Page<ProcessInstanceVo> getUserSubmittedList(Integer pageSize, Integer pageNo, String startUser, String code, Boolean finished);

    Page<ProcessInstanceVo> getCcMeInstance(Integer pageSize, Integer pageNo, String code);

    InstanceCountVo getProcessInstanceCount();
}
